package com.qaml.mes.device.vo.data;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qaml.mes.device.enums.MesEqpOrderStatusEnum;
import com.qaml.mes.device.enums.OrderHandleStatusEnum;
import com.qaml.mes.device.enums.OrderTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;

/**
 * @ClassName MesEqpOrderVO
 * @Description 任务单
 * @Author leikai
 * @Date 2023/12/4 15:15
 * @Version 1.0
 */
@Data
public class MesEqpOrderVO implements Serializable {

    private static final long serialVersionUID = 255613543885724087L;

    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;

    /**
     * 创建人名称
     */
    @ApiModelProperty(value = "创建人名称")
    private String createUserName;

    /**
     * 更新人名称
     */
    @ApiModelProperty(value = "更新人名称")
    private String updateUserName;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private java.util.Date updateTime;
    /**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
    /**任务单号*/
    @Excel(name = "任务单号", width = 15)
    @ApiModelProperty(value = "任务单号")
    private String code;
    /**业务单号*/
    @Excel(name = "业务单号", width = 15)
    @ApiModelProperty(value = "业务单号")
    private String businessCode;
    /**提交处理时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "提交处理时间")
    private java.util.Date commitTime;
    /**任务处理人*/
    @Excel(name = "任务处理人", width = 15)
    @ApiModelProperty(value = "任务处理人")
    //@Dict(dictTable = "v_operation_user", dicText = "realname", dicCode = "username")
    private String handleBy;

    @Excel(name = "任务处理人名称", width = 15)
    @ApiModelProperty(value = "任务处理人名称")
    //@Dict(dictTable = "v_operation_user", dicText = "realname", dicCode = "username")
    private String handleUserName;
    /**完成处理时间*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "完成处理时间")
    private java.util.Date completeTime;
    /**任务单类型: 点检、点检异常处理、保养、维修、审核
     * @see OrderTypeEnum
     * */
    //@Excel(name = "工单类型", width = 15, dicCode = "mes_equipment_order_type")
    //@Dict(dicCode = "mes_equipment_order_type")
    @Excel(name = "工单类型", width = 15)
    @ApiModelProperty(value = "任务单类型: 4-点检、8-保养、16-维修、32-审核")
    private String type;

    @ApiModelProperty(value = "任务单类型: 4-点检、8-保养、16-维修、32-审核")
    private String typeDesc;
    /**工单状态
     * @see MesEqpOrderStatusEnum
     * */
    //@Excel(name = "工单状态", width = 15, dicCode = "mes_equipment_order_status")
    //@Dict(dicCode = "mes_equipment_order_status")
    @Excel(name = "工单状态", width = 15)
    @ApiModelProperty(value = "工单状态")
    private Integer status;

    @ApiModelProperty(value = "工单状态描述")
    private String statusDesc;
    /**处理状态
     * @see OrderHandleStatusEnum
     * */
    //@Excel(name = "处理状态", width = 15, dicCode = "handle_status")
    //@Dict(dicCode = "handle_status")
    @Excel(name = "处理状态", width = 15)
    @ApiModelProperty(value = "处理状态")
    private Integer handleStatus;

    @ApiModelProperty(value = "处理状态描述")
    private String handleStatusDesc;
    /**来源*/
    @Excel(name = "来源", width = 15)
    @ApiModelProperty(value = "来源: 定时器、操作员")
    private String referral;

    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**附件信息*/
    @Excel(name = "附件信息", width = 15)
    @ApiModelProperty(value = "附件信息")
    private String attachments;
}